﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using KC.Enums.Admin;
using KC.Model.Admin.Constants;
using KC.Framework.Base;

namespace KC.Model.Admin
{
    [Table(Tables.TenantUserCallCharge)]
    public class TenantUserCallCharge : Entity
    {
        [Key]
        public int Id { get; set; }

        public string SessionId { get; set; }
        /// <summary>
        /// 计费号码
        /// </summary>
        public string ChargeNbr { get; set; }
        /// <summary>
        /// 显示号码
        /// </summary>
        public string DisplayNbr { get; set; }
        /// <summary>
        /// 开始时间（格式yyyyMMddhhmmss）
        /// </summary>
        public DateTime StartTime { get; set; }
        /// <summary>
        /// 结束时间（格式yyyyMMddhhmmss）
        /// </summary>
        public DateTime EndTime { get; set; }
        /// <summary>
        /// 被叫开始时间
        /// </summary>
        public DateTime StarttimeCalled { get; set; }
        /// <summary>
        /// 话单类型
        /// </summary>
        public string BillSubtype { get; set; }
        /// <summary>
        /// 通话时长
        /// </summary>
        public long Duration { get; set; }
        /// <summary>
        /// 消费点数
        /// </summary>
        public long Points { get; set; }

        public string TenantName { get; set; }
        public string TenantDisplayName { get; set; }

        public string Caller { get; set; }
        /// <summary>
        /// 主叫号码
        /// </summary>
        public string CallerPhone { get; set; }

        public string BeCaller { get; set; }
        /// <summary>
        /// 被叫号码
        /// </summary>
        public string BeCallerPhone { get; set; }
        public bool IsDownloadVoice { get; set; }
        public string DownLoadUrl { get; set; }
        public string RecordUrl { get; set; }

        public CallChargeStatus CallStatus { get; set; }
        public string CallLogResult { get; set; }
    }
}
